function changeTotalSwitch() {
    if ($('#totalSwitch').prop('checked')) {
        $('#timeSwitch').prop('disabled', false);
        $('#timeSelectLi').css('display', 'none');
    } else {
        $('#timeSwitch').prop('disabled', true);
        $('#timeSwitch').prop('checked', false);
        $('#timeSelectLi').css('display', 'none');
    }

    saveData();
}

function changeTimeSwitch() {
    if ($('#timeSwitch').prop('checked')) {
        $('#timeSelectLi').css('display', '');
    } else {
        $('#timeSelectLi').css('display', 'none');
    }

    saveData();
}

function loadUserSwitchData() {
    showLoading();

    $.post(serverUrl + ':' + serverPort + serverName + '/user/getSwitchInfoByUserId', {
        userId: sessionStorage.getItem("loginUserId")
    }, function (result) {
        hideLoading();

        let obj = JSON.parse(result);

        $('#totalSwitch').prop('checked', Number(obj.data.totalSwitch) === 1);
        $('#timeSwitch').prop('checked', Number(obj.data.timeSwitch) === 1);

        if ($('#totalSwitch').prop('checked')) {
            $('#timeSwitch').prop('disabled', false);
            $('#timeSelectLi').css('display', 'none');
        } else {
            $('#timeSwitch').prop('checked', false);
            $('#timeSwitch').prop('disabled', true);
            $('#timeSelectLi').css('display', 'none');
        }

        if (Number(obj.data.timeSwitch) === 1) {
            $('#timeSelectLi').css('display', '');
            $('#timeStart').val(obj.data.startTime);
            $('#timeEnd').val(obj.data.endTime);
        }
    });
}

function saveData() {
    showLoading();

    $.post(serverUrl + ':' + serverPort + serverName + '/user/updateSwitchInfo', {
        userId: sessionStorage.getItem("loginUserId"), totalSwitch: $('#totalSwitch').prop('checked') ? 1 : 0, timeSwitch: $('#timeSwitch').prop('checked') ? 1 : 0, startTime: $('#timeStart').val(), endTime: $('#timeEnd').val()
    }, function (result) {
        hideLoading();

        let obj = JSON.parse(result);

        if (obj.code === 0) {
            // 显示成功消息（3秒后自动关闭）
            showMessage('success', '数据保存成功！');
        } else {
            // 显示错误消息（带标题）
            showMessage('error', obj.msg);
        }
    });
}